package com.syh.jn.scm.service.api.supplier.system;

import cn.redscarf.commons.wrapper.Wrapper;
import com.syh.jn.scm.dto.operation.system.permission.PermissionVo;
import com.syh.jn.scm.dto.supplier.system.SupplierMenuVo;
import com.syh.jn.scm.dto.supplier.system.supplierRole.SupplierRoleMto;
import com.syh.jn.scm.dto.supplier.system.supplierRole.SupplierRoleSto;
import com.syh.jn.scm.dto.supplier.system.supplierRole.SupplierRoleVo;
import com.syh.jn.scm.service.core.BaseService;

import java.util.List;

public interface SupplierRoleService extends BaseService<SupplierRoleSto,SupplierRoleMto,SupplierRoleVo,Long> {


    /**
     * 更新角色菜单
     *
     * @param roleId
     * @param perIds
     */
    public void updateRoleMenus(Long roleId, List<Long> perIds);

    /**
     * 获取角色菜单
     *
     * @param wrapper
     */
    public List<SupplierMenuVo> getMenus(Wrapper wrapper);

    /**
     * 获取所有角色与权限
     *
     * @return
     */
    public List<SupplierRoleVo> getAllRolesWithPermission();

    /**
     * 获取角色所有的权限
     *
     * @param perId
     * @return
     */
    public List<SupplierRoleVo> getRolesByPermissionId(Long perId);

    /**
     * 根据帐号获取角色
     *
     * @param
     * @return
     */
    public SupplierRoleVo getRole(Long accountId);
	/**
	 * 根据角色id查找对应权限
	 *
	 * @param roleId
	 * @return
	 */
	public List<PermissionVo> getPermissionByRoleId(Long roleId);
}
